package com.heima.article.service;

import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.dtos.ArticleHomeDto;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.mess.ArticleVisitStreamMess;
import freemarker.template.TemplateException;

import java.io.IOException;

public interface ApArticleService {
    /**
     * 更加条件查询文章的列表数据
     * dto: 传递的查询参数
     * type: 查询的类型 1 查询更多 2 查询更新
     */
    public ResponseResult load(ArticleHomeDto dto, byte type);

    /**
     * 加载文章列表
     * @param dto
     * @param type  1 加载更多   2 加载最新
     * @param firstPage  true 是首页  false 不是首页
     * @return
     */
    public ResponseResult loadArticleListV2(ArticleHomeDto dto, byte type,boolean firstPage);

    /**
     * 保存app端相关文章
     * @param dto
     * @return
     */
    ResponseResult saveArticle(ArticleDto dto) throws IOException, TemplateException;

    /**
     * 根据时时统计的结果到数据库 同时更新热点文章的缓存数据
     * @param streamMess
     */
    void updateScore(ArticleVisitStreamMess streamMess);
}
